home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / HAMRADIO / LOGBOOK.ZIP / LOGQSL.PRG < prev    next >
Text File  |  1986-12-27  |  2KB  |  98 lines

  1. *LOGQSL VERSION 861128
  2. * CALLED FROM logbook
  3. *LOCAL VARIABLES callflag,callheard,linecount
  4.  
  5. *INITIALISE EVERYTHING
  6.  
  7. USE &logbook INDEX &logndx
  8.  
  9. ACCEPT 'Do you want to print QSL labels (Y/N) ' TO pf
  10. IF pf = 'Y'
  11.    ACCEPT 'Are the labels SINGLE or DOUBLE column (S or D) ' TO joe
  12.    ?
  13.    IF joe = 'D'
  14.       STORE 1 TO joe
  15.    ELSE
  16.       STORE 3 TO joe
  17.    ENDIF
  18.    STORE '                                                       ' TO blanks
  19. ENDIF
  20. STORE  T  TO callflag
  21. STORE '-' TO nqslsent
  22. STORE '-' TO nqslrx
  23. *MAIN LOOP
  24. DO WHILE callflag
  25.    GOTO TOP
  26.    ACCEPT "Call/Prefix (* To terminate, + To repeat) ? " to newcall
  27.  
  28.    IF newcall = "*"
  29.       STORE F TO callflag
  30.       * Clear loop control for exit
  31.    ELSE
  32.       IF newcall = '+'
  33.       ELSE
  34.          STORE newcall TO callheard
  35.       ENDIF
  36.       FIND &callheard
  37.       IF # = 0
  38.          ERASE
  39.          @ 5,1 SAY callheard
  40.          @ 5,12 say "does not appear to be in the log"
  41.          ?
  42.          ?
  43.       ELSE
  44.          DO WHILE CALL = callheard .AND. (.NOT.EOF)
  45.             ERASE
  46.             STORE qslsent TO  nqslsent
  47.             STORE qslsent TO  oqslsent
  48.             STORE qslrx   TO  nqslrx
  49.  
  50.             @ 12,1 SAY "DATE"
  51.             @ 13,1 SAY "TIME"
  52.             @ 14,1 SAY "CALL"
  53.             @ 15,1 SAY "BAND"
  54.             @ 16,1 SAY "POWER"
  55.             @ 17,1 SAY "MODE"
  56.             @ 18,1 SAY "REPORT (RX)"
  57.             @ 19,1 SAY "REPORT (TX)"
  58.             @ 20,1 SAY "COMMENTS"
  59.             @ 21,1 SAY "QSLSENT"
  60.             @ 22,1 SAY "QSLRX"
  61.  
  62.             @ 12,13 SAY date
  63.             @ 13,13 SAY time
  64.             @ 14,13 SAY call
  65.             @ 15,13 SAY band
  66.             @ 16,13 SAY power
  67.             @ 17,13 SAY mode
  68.             @ 18,13 SAY rx
  69.             @ 19,13 SAY tx
  70.  
  71.             @ 21,13 GET nqslsent
  72.             @ 22,13 GET nqslrx
  73.             READ
  74.  
  75.             *UPDATE ENTRY
  76.             REPLACE qslsent WITH nqslsent
  77.             REPLACE qslrx WITH nqslrx
  78.             IF pf = 'Y' .AND. qslsent <> '-'.AND. oqslsent = '-'
  79.                DO QSLPRINT
  80.             ENDIF
  81.             SKIP
  82.          ENDDO
  83.       ENDIF
  84.    ENDIF
  85. ENDDO
  86. IF pf = 'Y'
  87.    IF joe = 0
  88.       STORE 2 TO joe
  89.       DO QSLPRINT
  90.       * CLEAR OUT LAST ONE
  91.    ENDIF
  92. ENDIF
  93. USE
  94. * GET READY TO EXIT
  95. RELEASE callflag,callheard,linecount,nqslsent,nqslrx,pf,joe,blanks,label2
  96. RELEASE line11,line12,line13,line14,line15,oqslsent,newcall
  97. RETURN
  98.